#include <iostream>
#include <vector>
#include <stdexcept> // 包含标准异常类
using namespace std;

int main()
{

    vector<int> vec = {1, 2, 3};
    try
    {
        cout << vec.at(2) << endl;
        // 使用at访问，越界会抛出std::out_of_range
        cout << vec.at(10) << endl;
    }
    catch (const out_of_range& e)
    {
        cerr << "Out of Range error: " << e.what() << endl;
    }
    catch (const exception& e)
    {
        // 捕获所有继承自std::exception的异常
        cerr << "Exception: " << e.what() << endl;
    }
    catch (...)
    {
        // 捕获所有其他类型的异常（不推荐常用，除非需要处理未知异常）
        cerr << "Unknown exception caught" << endl;
    }
    cout << "This is End!" << endl;
    return 0;
}